Contract
para un contrato ya desplegado es bastante sencillo.
CallFunction
para crear un objeto CallContractFunction
, que determinará el gasPrice, gasLimit, nonce y data apropiados para incluir en un nuevo EthTransaction
al proporcionarle un cliente y un objeto ContractCall
al método Create
async Task
Un ejemplo de cómo llamar a un smart contract sería el siguiente:
SendTransactionMethod
en su lugar.
Alternativamente, si solo quiere crear el EthTransaction
y enviarlo más tarde, puede usar directamente el objeto CallContractFunction
de CallFunction
.
CallFunction
acepta un número arbitrario de argumentos. Debe proporcionar los argumentos en el orden en que aparecen en el ABI/firma de la función.
string
o crear una instancia de Address
. Asegúrese de que su cadena sea hexadecimal,
comience con 0x
y tenga una longitud fija de 42 caracteres.
int256
, uint8
o uint256
use el tipo BigInteger
de System.Numerics.
FixedByte
para tipos como byte16
o byte32
.
Cuando su contrato requiera bytes
, puede convertir cualquier valor en un byte[]
de cualquier longitud.
Si sus datos están representados como una cadena hexadecimal en C#, asegúrese de usar nuestra función HexStringToByteArray()
para convertir
el valor hexadecimal de vuelta al arreglo de bytes original.
Para arreglos de bytes como byte32[]
, simplemente cree un FixedByte[]
en C#.
Contract.CallFunction
.
Struct de Solidity
string
o bool
, puede usar los mismos tipos de datos en C#.
SendQuery<T>
para consultar el contrato y devolver el resultado como tipo T (si es posible).
Un ejemplo de cómo consultar un smart contract sería:
QueryContract<T>
para crear un delegado.
ContractDeployer